/* 
自定义Vue插件
插件会使用一个立即执行函数包裹，一旦引用就会直接调用
1.如果插件是对象，对象必须有一个install函数
2.如果插件是函数，将这个函数当作install方法对待
*/

/* // 插件是一个对象
(()=>{
    const MyPlugin = {};
    MyPlugin.install = function(Vue,options){
        // 创建Vue的静态方法
        Vue.myGlobalMethod = function(){
            console.log("myGlobalMethod()");
        }

        // 定义全局指令
        Vue.directive('my-directive',(el,binding)=>{
            el.innerHTML = binding.value + '------';
        })

        // 给vm定义方法
        Vue.prototype.$myMethod = function(){
            console.log('vm $myMethod()');
        }
    }
    //将组件挂载到window
    window.MyPlugin = MyPlugin;
})() */

// 插件是一个函数
(()=>{
    const MyPlugin = function(Vue,options){
        // 创建Vue的静态方法
        Vue.myGlobalMethod = function(){
            console.log("myGlobalMethod()");
        }
    
        // 定义全局指令
        Vue.directive('my-directive',(el,binding)=>{
            el.innerHTML = binding.value + '------';
        })
    
        // 给vm定义方法
        Vue.prototype.$myMethod = function(){
            console.log('vm $myMethod()');
        }
    }
    //将组件挂载到window
    window.MyPlugin = MyPlugin;
    })() 


